ヘッダーをスキップ
Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド
リリース6.0
B25766-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

TimesTen組込みプロシージャのコール

標準のODBC機能を拡張するTimesTen組込みプロシージャについては、『Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド』の組込みプロシージャに関する章を参照してください。TimesTen組込みプロシージャは、CallableStatementインタフェースを使用して実行できます。

組込みプロシージャを実行するには、次の書式を使用します。

CallableStatement.execute("{ Call Procedure }") 
 

組込みプロシージャを準備および実行するには、次の書式を使用します。

CallableStatement cStmt; cStmt = con.prepareCall("{ Call Procedure }"); cStmt.execute();

結果セットを返す組込みプロシージャについては、theResultSet get*()メソッドを使用して、返されたResultSetからデータを取得できます。例2.11を参照してください。

注意: TimesTenで生成された結果セットの使用に関する注意事項は、「結果セットの使用」を参照してください。
例2.10

ttCkptプロシージャをコールしてファジー・チェックポイントを開始するには、次のように入力します。

Connection con; 
CallableStatement cStmt; 
....... 
cStmt = con.prepareCall("{ Call ttCkpt }"); 
cStmt.execute(); 
con.commit();         // commit the transaction 
例2.11

この例では、ttDataStoreStatusプロシージャをコールして、返される結果セットを印刷します。

結果セットの使用」に示した例とは異なり、この例では、ResultSet.getStringを使用して、バイナリであるContextフィールドを取得します。これは、出力データは処理で使用されるのではなく、印刷されるためです。Context値を印刷しない場合は、ResultSet.getBytesメソッドを使用すると、より高いパフォーマンスが得られます。

ResultSet rs; 
cStmt = con.prepareCall("{ Call ttDataStoreStatus }"); 
  
if (cStmt.execute() == true) { 
     rs = cStmt.getResultSet(); 
     System.out.println("Fetching result set..."); 
     while (rs.next()) { 
        System.out.println("\n Data store: " + rs.getString(1)); 
        System.out.println("  PID: " + rs.getInt(2)); 
        System.out.println("  Context: " + rs.getString(3)); 
        System.out.println("  ConType: " + rs.getString(4)); 
        System.out.println("  memoryID: " + rs.getString(5)); 
        } 
    rs.close(); 
  } 
cStmt.close(); 
注意: 名前を使用してパラメータをCallableStatementに渡すことはできません。序数を使用してパラメータを設定する必要があります。また、SQLのエスケープ構文は使用できません。